import db from "../db/index.js"
// 文章分类接口处理函数文件
// 获取文章分类列表接口
export const getArtCates = (req,res)=>{
    // 查询文章分类列表语句,查询未标记删除的，升序排序
    const sqlStr = 'select * from ev_article_cate where is_delete=0 order by id asc'
    db.query(sqlStr,(err,result)=>{
        if(err)return res.cc('数据库出错')
        if(result.length === 0)return res.cc('数据库无数据')
        res.send({
          status:200,
          message:'查询成功',
          data:result
        })
    })
}

// 添加文章分类
export const addArtCate = (req,res)=>{
    // 查询新的文章分类名称和别名是否和数据库的有重复
    const sqlStr = 'select * from ev_article_cate where name=? or alias=?'
    db.query(sqlStr,[req.body.name,req.body.alias],(err,results)=>{
        if(err)return res.cc('数据库出错')
        // 如果查询到两条则代表名称和别名都被占用了
        if(results.length === 2)return res.cc('名称和别名已经都被占用')
        // 查到一条的情况
        if(results.length === 1 && results[0].name === req.body.name && results[0].alias === req.body.alias) return res.cc('文章类型名称和别名都被占用')
        if(results.length === 1 && results[0].name === req.body.name)return res.cc('文章类型名称已被占用')
        if(results.length === 1 && results[0].alias === req.body.alias)return res.cc('文章类型别名已被占用')
        
        // 新增文章分类
        const sqlStr = 'insert into ev_article_cate set ?'
        db.query(sqlStr,req.body,(err,results)=>{
            if(err)return res.cc('数据库出错')
            if(results.affectedRows !== 1)return res.cc('添加文章类型失败')
            // 新增成功
            res.to('添加成功')
        })
    })
}

// 根据id删除文章分类
export const deleteArtCate = (req,res)=>{
    // 定义标记文章分类已被删除sql语句
    const sqlStr = 'update ev_article_cate set is_delete=1 where id=?'
    db.query(sqlStr,req.params.id,(err,result)=>{
        if(err)return res.cc('数据库错误')
        if(result.affectedRows !== 1)return res.cc('删除失败')
        // 删除成功
        res.to('删除成功')
    })
}

// 根据id查找文章分类数据
export const getArtCate = (req,res)=>{
    // 查询sql语句
    const sqlStr = 'select * from ev_article_cate where id=?'
    db.query(sqlStr,req.params.id,(err,result)=>{
        if(err)return res.cc('数据库错误')
        if(result.length !== 1)return res.cc('查询失败')
        // 查询成功
        res.to('查询成功',result[0])
    })
}

// 根据id更新文章分类数据
export const updateArtCate = (req,res)=>{
    // 对修改的数据进行查重验证
    const sqlStr = 'select * from ev_article_cate where id<>? and (name=? or alias=?)'
    db.query(sqlStr,[req.body.id,req.body.name,req.body.alias],(err,result)=>{
        if(err)return res.cc('数据库错误')
        if(result.length === 2)return res.cc('文章分类名称和别名都被占用')
        if(result.length === 1 && result[0].name === req.body.name)return res.cc('文章分类名称被占用')
        if(result.length === 1 && result[0].alias === req.body.alias)return res.cc('文章分类别名被占用')
        // 修改成功
        const sqlStr = 'update ev_article_cate set ? where id=?'
        db.query(sqlStr,[req.body,req.body.id],(err,result)=>{
            if(err)return res.cc('数据库错误')
            if(result.affectedRows !== 1)return res.cc('修改失败')
            // 修改成功
            res.to('修改成功')
        })
    })
}